『10+ Deploys Per Day: Dev and Ops Cooperation at Flickr』
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
2009年のFlickr社の1日に10回デプロイするというやつ
オライリー主催の「Velocity 2009」で発表
ツール
1 自動化されたインフラストラクチャ(Automated infrastructure): インフラの構築を自動化する。よく使われているツールにはAnsibleやChef、Dockerなどがある
2 バージョン管理システムの共有(Shared version control): GitやMercurialなどの同じバージョン管理システムをDevとOpsで共有する
3 ワンステップによるビルドとデプロイ(One step build and deploy): 手順書などを使い、手動でビルドやデプロイをするのではなく、ビルドやデプロイを自動化する。よく使われているツールやサービスにはJenkinsやCapistranoなどがある
4 フィーチャーフラグ(Feature flags): 詳細は後述のコラムで説明。コード中の機能の有効/無効を設定ファイルで管理する
5 メトリクスの共有(Shared metrics) : 取得したメトリクスの結果をダッシュボードでお互いに共有する。よく使われているサービスにはNew RelicやApplication Insightsなどがある
6 IRCとインスタントメッセンジャーのBot(IRC and IM robots): SlackやHipChatなどのチャットツールに自動的にビルドやデプロイのログ、アラート内容を投稿する仕組みを作ることで情報をお互いに共有する
【組織文化 】
A お互いを尊重する(Respect): 一緒に働く相手のことを心から思いやる、相手を一人の人間として扱い、能力や功績を評価する
B お互いを信頼する(Trust): 自分以外の人は優秀で、正しいことをすると信じる。信じて仕事を任せる
C 失敗に対して健全な態度を取る(Healthy attitude about failure): 新しいことに挑戦すれば自ずと失敗は起こってしまうもの。失敗は起こるものであり、相手のミスだと責めるものではない
D 相手を非難しない(Avoiding Blame): 相手に非があると断じて言葉で責めるのではなく、次に同じ問題が起こらないように建設的な批判を行う
動画
Velocity 09: John Allspaw and Paul Hammond, "10+ Deploys Pe - YouTube
関連
DevOpsDays Tokyo 2022 - DevOps の源流 : Flickr 10+ Deploys per Day のトーク (2009年) を再訪する | ConfEngine - Conference Platform
結局DevOpsとは何なのか?| 株式会社 インテリジェント・モデル
Revisit the DevOps Origin: 10+ Deploys Per Day by Flickr - Speaker Deck
動画を日本語訳したスライド
#文献